
{ libpl/ppaslibc interface }

    intrinsic; interface
      USES {$U libos/syscall.obj } syscall;

      type
       consoledest = (alscreen, mainscreen, xsorocA, xsorocB, folder, spare1, spare2, spare3); { max 8 }
       dsProcCode  = (dsResProg, dsSoftPwbtn, dsPrintDev, dsSetGPrefix, dsEnbDisk, dsGetDiskEnbF);
       dsProcParam = record
                      case ProcCode : dsProcCode of
                        dsResProg    : (RProcessId : longint); {must be called before
                                                                the process starts running.}
                        dsSoftPwbtn  : (SPButton : boolean);		      {result}
                        dsPrintDev   : (PrDevice : e_name);
                        dsSetGPrefix : (errnum : INTEGER; prefix : pathname); {result}
                        dsEnbDisk    : (toEnbDisk : boolean);
                        dsGetDiskEnbF : (diskEnbF : boolean);		      {result}
                      end;

    { ------ Procedures called by Shell only, some by WorkShop Shell only ---------------- }

        PROCEDURE BlockIOInit;	    {entire blockio unit init, once per system}

        procedure BlockIOdisinit;     {blockio unit clean up, called by shell only}

        procedure lockPaslib (var errnum : integer); {lock PASLIB1 for Filer}

        procedure lockPasiolib (var errnum : integer); {lock PASIOLIB for Filer }

        procedure moveconsole (var errnum : integer; applconsole : consoledest);

        PROCEDURE ExecReset (VAR errnum : INTEGER; VAR execfile : pathname;
                             stopexec : BOOLEAN);   {open/stop exec file}

        FUNCTION ExecFlag : BOOLEAN;	    {return TRUE if EXEC file is active}

        PROCEDURE OutputRedirect (VAR errnum : INTEGER; VAR outfile : pathname;
                                  stopoutput : BOOLEAN); {open/stop output file}

        FUNCTION OutputRFlag : BOOLEAN;	    {return true if output is redirected}

        procedure DSPaslibCall (VAR ProcParam : dsProcParam); {by Workshop Shell only}

    implementation

  { FINIS }
